<html>
<head><meta charset="utf-8"><title>many rfcs or one? · t-lang · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/index.html">t-lang</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html">many rfcs or one?</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="196217109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217109">(May 04 2020 at 18:00)</a>:</h4>
<p>I have a set of changes I'd like to make around error handling that are somewhat separable and I'm wondering if anyone who has experience with the RFC process has a recommendation on if I should write this as one RFC or many.</p>
<p>Specifically, the changes I want to make are:</p>
<ul>
<li>Add a generic member access function to the error trait that lets you access types by type_id and then downcast them</li>
<li>Remove the <code>backtrace</code> fn from the error trait</li>
<li>move the error trait to core</li>
<li>add a track trait or something similar tied to the <code>Try</code> trait for types to know when they've been propogated so they can generate error return traces via <code>#[track_caller]</code> and reporters can use generic member access to extract this location data</li>
</ul>



<a name="196217460"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217460" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217460">(May 04 2020 at 18:02)</a>:</h4>
<p>so like, the return trace and move error trait to core both depend on the member access stuff</p>



<a name="196217526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217526">(May 04 2020 at 18:03)</a>:</h4>
<p>("An official way to do Error in <code>core</code>" is highly desired, but I don't have any thoughts on the RFC implications.)</p>



<a name="196217538"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217538" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217538">(May 04 2020 at 18:03)</a>:</h4>
<p>I'm unsure whether I should write this as 3 rfcs or 1</p>



<a name="196217657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217657">(May 04 2020 at 18:04)</a>:</h4>
<p>There are tradeoffs.</p>
<ul>
<li>On the one hand, a single RFC will absolutely get bikeshedded much more, and every objection to one individual piece will become an objection to the whole thing, making it difficult to resolve; it's often easier to get a hyper-focused RFC through than an omnibus one.</li>
<li>On the other hand, separate RFCs will raise the question of "but how do these interact with these other features".</li>
</ul>



<a name="196217681"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217681" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217681">(May 04 2020 at 18:04)</a>:</h4>
<p>In my opinion, I'd say "if the features can be entirely orthogonal, write separate RFCs, it'll make your life so much easier".</p>



<a name="196217705"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217705" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217705">(May 04 2020 at 18:04)</a>:</h4>
<p>also, I wrote the entire first bit already but used a simpler solution that I think we should actually use, is it okay to mark the proposed solution as a placeholder/backup and point to another solution as the preferred one assuming some research is put into it</p>



<a name="196217767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217767">(May 04 2020 at 18:05)</a>:</h4>
<p>okay, yea they're definitely orthogonal, cross referencing RFCs it is</p>



<a name="196217781"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217781" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217781">(May 04 2020 at 18:05)</a>:</h4>
<p>But if the features <em>do</em> interact or depend on each other, I think it's preferable to either have one RFC, or at the very least if it's a fairly simple dependency just submit the first and wait before submitting the second.</p>



<a name="196217905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217905">(May 04 2020 at 18:06)</a>:</h4>
<p>well, the error return trace one is pretty independent its just implementing it without first doing the generic member access means you'd have to find a solution to the member access concern</p>



<a name="196217939"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217939" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217939">(May 04 2020 at 18:06)</a>:</h4>
<p>the move the error trait to core i think entirely depends on the generic member access to be tenable</p>



<a name="196217997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196217997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196217997">(May 04 2020 at 18:07)</a>:</h4>
<p>Also, first impression: <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span> to removing <code>backtrace</code> (yay!), <span aria-label="+1" class="emoji emoji-1f44d" role="img" title="+1">:+1:</span> to moving <code>Error</code> to <code>core</code> (depending on details).</p>



<a name="196218005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218005">(May 04 2020 at 18:07)</a>:</h4>
<p>k im gonna focus on the main one then, because that clears the way to everything else</p>



<a name="196218052"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218052" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218052">(May 04 2020 at 18:07)</a>:</h4>
<p>Regarding error return traces, that one I feel interacts heavily with the concept of "context" as well.</p>



<a name="196218060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218060">(May 04 2020 at 18:07)</a>:</h4>
<p>I'll add that the first one paves the way to moving error to core, without writing an RFC about moving it to core yet</p>



<a name="196218131"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218131" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218131">(May 04 2020 at 18:08)</a>:</h4>
<p>I would <em>love</em> to have a built-in concept of "add context to an error", somehow.</p>



<a name="196218144"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218144" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218144">(May 04 2020 at 18:08)</a>:</h4>
<p>Or error chaining.</p>



<a name="196218153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218153">(May 04 2020 at 18:08)</a>:</h4>
<p>Something along those lines.</p>



<a name="196218170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218170">(May 04 2020 at 18:08)</a>:</h4>
<p>well this wouldn't be tied to that</p>



<a name="196218181"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218181" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218181">(May 04 2020 at 18:08)</a>:</h4>
<p>this is kinda the flip side of that feature</p>



<a name="196218186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218186">(May 04 2020 at 18:08)</a>:</h4>
<p>Well, there's one interaction.</p>



<a name="196218203"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218203" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218203">(May 04 2020 at 18:08)</a>:</h4>
<p>this is how to get context out of an error</p>



<a name="196218243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218243">(May 04 2020 at 18:09)</a>:</h4>
<p>i guess the <code>track</code> trait is in essence the flip side</p>



<a name="196218253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218253">(May 04 2020 at 18:09)</a>:</h4>
<p>Sometimes when people "downcast" an error they are actually looking for a previous error in the chain, not a trait of the error thing itself.</p>



<a name="196218277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218277">(May 04 2020 at 18:09)</a>:</h4>
<p>of adding generic context</p>



<a name="196218325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218325">(May 04 2020 at 18:09)</a>:</h4>
<p>yea</p>



<a name="196218383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218383">(May 04 2020 at 18:10)</a>:</h4>
<p>So, for instance, today, for the first time, I wrote code that uses <code>anyhow</code>'s <code>downcast</code> method, to get a <code>std::io::Error</code> out of an <code>anyhow::Error</code> iff it had one, so that I could get an errno for a protocol that needed errno values.</p>



<a name="196218410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218410">(May 04 2020 at 18:10)</a>:</h4>
<p>```    fn downcast_refchain&lt;T: Error + Sized + 'static&gt;(&amp;self) -&gt; Option&lt;&amp;T&gt;;</p>
<div class="codehilite"><pre><span></span><code>
</code></pre></div>



<a name="196218416"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218416" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218416">(May 04 2020 at 18:10)</a>:</h4>
<p>gdi</p>



<a name="196218469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218469">(May 04 2020 at 18:10)</a>:</h4>
<p>Personally I would like the core error trait to not have backtraces or other payloads because I like dead-simple error enums. I would specifically like to avoid "contexts" or other "notes on what happened" in the error because I would like the error construction to basically be an error code and nothing else.</p>



<a name="196218484"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218484" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218484">(May 04 2020 at 18:10)</a>:</h4>
<p>is it just iterating through the sources and downcasting? <span class="user-mention" data-user-id="239881">@Josh Triplett</span></p>



<a name="196218505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218505">(May 04 2020 at 18:11)</a>:</h4>
<p>Yes, I think so.</p>



<a name="196218508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218508">(May 04 2020 at 18:11)</a>:</h4>
<p>because if so I have the same thing in my errtools crate</p>



<a name="196218534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218534">(May 04 2020 at 18:11)</a>:</h4>
<p>which is what i failed pasting above</p>



<a name="196218554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218554">(May 04 2020 at 18:11)</a>:</h4>
<p>Effectively, "if this <code>anyhow::Error</code> came from a <code>std::io::Error</code>, use that, otherwise, wrap this <code>anyhow::Error</code> in a <code>std::io::Error</code> with <code>ErrorKind</code> <code>Other</code>".</p>



<a name="196218573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218573">(May 04 2020 at 18:11)</a>:</h4>
<p>(I think you need a newline after the three backticks)</p>



<a name="196218602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218602">(May 04 2020 at 18:11)</a>:</h4>
<p>yea, i just always forget</p>



<a name="196218772"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218772" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218772">(May 04 2020 at 18:13)</a>:</h4>
<p>i feel like a generic "add context to an error" trait would be fraught though</p>



<a name="196218796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218796">(May 04 2020 at 18:13)</a>:</h4>
<p>because presumably you'd need a default impl to ignore that info</p>



<a name="196218823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218823">(May 04 2020 at 18:13)</a>:</h4>
<p>and it would be hard to know if the error you're adding context to can even handle it</p>



<a name="196218847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218847">(May 04 2020 at 18:13)</a>:</h4>
<p>i guess if it acknowledges that it handled it</p>



<a name="196218863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196218863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196218863">(May 04 2020 at 18:13)</a>:</h4>
<p>eeh, ill worry about this later as part of the Track stuff</p>



<a name="196219069"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219069" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219069">(May 04 2020 at 18:15)</a>:</h4>
<p>okay but <span class="user-mention" data-user-id="239881">@Josh Triplett</span> re earlier question that I think got missed</p>



<a name="196219087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219087">(May 04 2020 at 18:15)</a>:</h4>
<p>i have two possible implementations for my RFC</p>



<a name="196219115"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219115" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219115">(May 04 2020 at 18:15)</a>:</h4>
<p>and theres one that i think is better because it supports DSTs but its definitely not nearly as clean looking</p>



<a name="196219132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219132">(May 04 2020 at 18:15)</a>:</h4>
<p>and i feel like it would distract from the RFC</p>



<a name="196219262"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219262" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219262">(May 04 2020 at 18:16)</a>:</h4>
<p>do you think its cool to use the backup impl as the example throughout the RFC but then in the implementation point to the second solution as preferred assuming it is sound</p>



<a name="196219339"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219339" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219339">(May 04 2020 at 18:17)</a>:</h4>
<p>I think that'll <em>heavily</em> confuse people.</p>



<a name="196219350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219350">(May 04 2020 at 18:17)</a>:</h4>
<p>:/</p>



<a name="196219351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219351">(May 04 2020 at 18:17)</a>:</h4>
<p>yeaaa</p>



<a name="196219379"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219379" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219379">(May 04 2020 at 18:17)</a>:</h4>
<p>If you have a preferred solution, I would emphasize that, even if you have to say "some details glossed over, see this section".</p>



<a name="196219385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219385">(May 04 2020 at 18:17)</a>:</h4>
<p>Forward references for complicated bits are fine.</p>



<a name="196219386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219386">(May 04 2020 at 18:17)</a>:</h4>
<p>i just dont want to have to rewrite everything</p>



<a name="196219390"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/213817-t-lang/topic/many%20rfcs%20or%20one%3F/near/196219390" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/213817-t-lang/topic/many.20rfcs.20or.20one.3F.html#196219390">(May 04 2020 at 18:17)</a>:</h4>
<p>ugh</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>